一键导入
bashticle
Create interactive bash articles (bashticles) from markdown blog posts with streaming text, command execution, and user interaction
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create interactive bash articles (bashticles) from markdown blog posts with streaming text, command execution, and user interaction
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | bashticle |
| description | Create interactive bash articles (bashticles) from markdown blog posts with streaming text, command execution, and user interaction |
Transform markdown blog posts into interactive bash scripts that users can read and execute directly from their terminal.
Use this skill when a user asks to:
Bashticle creation uses a two-phase approach:
The bashticle-generator.sh script does the structural work:
# Run the generator
bashticle-generator.sh article.md
# Or with custom output:
bashticle-generator.sh article.md --output-file custom.sh
What it does:
Standard options included:
--step - Jump to specific section--run-command / -r - Execute commands vs echo--dry-run / -d - Echo only (default: ON)--stream / -s - Enable streaming (default: ON)--verbose / -v - Verbose outputThe AI (via this skill) enhances the bashticle:
parseArger parse to add article-specific options:
parseArger parse bashticle.sh --inplace \
--opt 'ai-provider "AI provider" --short p --default-value "openrouter"' \
--opt 'ai-model "AI model" --short m' \
--opt 'api-key "API key" --short k' \
--opt 'project-name "Project name"' \
--opt 'reasoning "Reasoning tokens" --default-value "4096"'
A .sh file with:
--step support# Step 1: Generate basic structure
bashticle-generator.sh article.md
# Step 2: AI enhances it (via this skill)
# - Adds article-specific options with parseArger parse
# - Fills in section content
# - Converts code blocks to command arrays
Each ## or ### header becomes a bash function:
## Getting Started
Content here...
Generated stub:
show_getting_started() {
print_section "Getting Started"
# TODO: AI fills this in with actual content
prompt_continue
}
AI fills in:
show_getting_started() {
print_section "Getting Started"
stream_text "Content here..."
# Convert code blocks to command arrays
local init_cmd=(npm install)
show_cmd "Install dependencies" npm install
run_cmd "${init_cmd[@]}"
prompt_continue
}
Code blocks are converted to command arrays with variable injection:
```bash
npx task-o-matic@latest init --project-name my-project
AI converts to:
```bash
local init_cmd=(
npx task-o-matic@latest init
--project-name "$_arg_project_name" # Variable injection
)
run_cmd "${init_cmd[@]}"
stream_text "text" [delay] # Typewriter effect (5ms default)
print_section "title" # Cyan section header
print_subsection "title" # Yellow subsection
prompt_continue # Green "Press Enter" prompt
run_cmd arg1 arg2 ... # Execute or echo based on flags
show_cmd "explanation" cmd ... # Display command with description
Variables from CLI arguments (after AI adds them):
$_arg_ai_provider # --ai-provider value (if AI article)
$_arg_ai_model # --ai-model value (if AI article)
$_arg_api_key # --api-key value (if AI article)
$_arg_project_name # --project-name value (if applicable)
$_arg_reasoning # --reasoning value (if AI article)
$_arg_stream # --stream flag
$_arg_run_command # --run-command flag
$_arg_dry_run # --dry-run flag
$_arg_verbose # --verbose flag
$_arg_step # Section to jump to
Generator creates:
show_init() {
print_section "Initialization"
# TODO: AI fills this in
prompt_continue
}
AI converts to:
show_init() {
print_section "Initialization"
stream_text "Let's initialize the project..."
echo ""
show_cmd "Initialize with task-o-matic" \
npx task-o-matic@latest init init \
--project-name "$_arg_project_name" \
--frontend tanstack-router
run_cmd npx task-o-matic@latest init init \
--project-name "$_arg_project_name" \
--frontend tanstack-router
echo ""
stream_text "Project initialized!"
echo ""
prompt_continue
}
# View help
./bashticle.sh --help
# Run full article (dry-run mode - default)
./bashticle.sh
# Jump to specific section
./bashticle.sh init
# Run with actual command execution (use in test directory!)
./bashticle.sh --run-command --ai-provider anthropic
# Disable streaming for faster output
./bashticle.sh --no-stream
## and ### sectionsparseArger parse to add relevant CLI optionsscripts/bashticle-generator.shapps/web/content/blog/Black hole/From ralph to Eric/bashticle.shreferences/helpers.md