Skip to content
Back to skills

Spine Intake

ASecurity

Collects PaperSpine workflow options and writes config for flash/pro, scene, language, and inputs. (internal /paperspine step)

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentspythongoshellbashgitapi

Works with

  • claude code
  • terminal
  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add FOURTEEN1416/academic-agent-toolkit --skill spine-intake --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Spine Intake?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Spine Intake
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fourteen1416-spine-intake/badge)](https://www.skillsdirectory.com/skills/fourteen1416-spine-intake)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: spine-intake
description: "Collects PaperSpine workflow options and writes config for flash/pro, scene, language, and inputs. (internal /paperspine step)"
---


<!--ACAT-ADAPTED: 资产回填自 WUBING2023/PaperSpine@1fe46f0e76aa(dist/claude 分发,单技能拆分重组编排)。溯源见 references/UPSTREAM.md。2026-09-09 专项治理。-->
# PaperSpine Intake

Use this skill before substantive PaperSpine work when the workflow is not yet
configured.

## Required Output

Create:

- `paper_rewriting_output/paper_spine_config.json`
- `paper_rewriting_output/paper_spine_config.md`

The JSON must contain:

```json
{
  "workflow": "rewrite_existing",
  "scene": "journal",
  "tier": "flash",
  "output_language": "en",
  "target_name": "",
  "materials_dir": "",
  "draft_path": "",
  "user_motivation": "",
  "official_urls": [],
  "special_requirements": [],
  "word_output": "none",
  "translation_package": "none",
  "reference_mode": "local_first",
  "reference_paths": ["."],
  "citation_target_count": 20
}
```

Allowed values:

- `workflow`: `rewrite_existing`, `build_from_materials`
- `scene`: `journal`, `conference`, `report_review`, `competition`
- `tier`: `flash`, `pro`
- `output_language`: `en`, `zh`
- `word_output`: `none`, `docx`
- `translation_package`: `none`, `zh`; use `zh` only when
  `output_language` is `en`
- `reference_mode`: `local_first`, `specified_paths`, `web`
- `reference_paths`: local folders/files to index for references; default `.`
- `citation_target_count`: final intended citation count; default `20`

## Interaction Rules

The command-line wizard is the supported UI for Claude Code and Codex CLI.
When a real terminal is available, route through `spine-config-ui` and use the
bundled external terminal wizard; do not downgrade to asking the user to
hand-write JSON or type every option in chat.

In Claude Code, do not run the intake wizard directly from an
agent Bash/tool call. That execution surface may not expose stdin and can hang.
Use `/paperspine` for normal work; it launches this intake UI automatically
when configuration is missing. The UI is a real terminal TUI with Up/Down option switching,
Left/Right field switching, Enter edit/confirm, and `S` save. Claude Code does
not currently expose a public third-party skill API for embedding this custom
keyboard UI inside the chat input box itself. If needed, run the launcher
by its absolute installed path (never a path relative to the project directory):

```powershell
# Pass the ABSOLUTE path to the installed launcher. Codex/Claude run from the
# user's project folder, where `scripts/` does not exist, so a relative path is
# the most common reason the UI window never opens. Resolve the install dir:
$launcher = @(
  "$env:USERPROFILE\.codex\skills\spine-config-ui\scripts\launch_paperspine_ui.ps1",
  "$env:USERPROFILE\.claude\skills\spine-config-ui\scripts\launch_paperspine_ui.ps1",
  "$env:USERPROFILE\.codex\skills\spine-intake\scripts\launch_paperspine_ui.ps1",
  "$env:USERPROFILE\.claude\skills\spine-intake\scripts\launch_paperspine_ui.ps1"
) | Where-Object { Test-Path $_ } | Select-Object -First 1
powershell.exe -NoProfile -ExecutionPolicy Bypass -File $launcher -OutputDir paper_rewriting_output
```

This opens a separate interactive PowerShell window. For a user-run terminal,
this direct command is also supported:

```bash
WIZARD="$(find "$(git rev-parse --show-toplevel 2>/dev/null || echo .)" -path "*spine-config-ui/scripts/intake_wizard.py" 2>/dev/null | head -1)"(ACAT-GOVERNANCE:上游脚本未随本仓库集成,宿主安装路径已废弃;2026-09-23 宿主中性化改写,改用本仓技能目录内路径)
python "$WIZARD" --output-dir paper_rewriting_output
```

The wizard provides arrow-key menus in a real terminal, falls back to numbered
menus when needed, shows descriptions for each option, runs a final review
screen and edit loop, and writes both JSON and Markdown config.

Use native structured questions only if the host exposes them reliably in the
current session. If neither terminal execution nor native questions are
available, then and only then ask the user to answer with the fallback template.

Read `references/interactive-intake.md` for the exact question order and
fallback template.

## Defaults

- `journal` and `conference` default to `en`.
- Chinese course, Chinese competition, and explicit Chinese writing requests
  default to `zh`.
- If the user has a draft, choose `rewrite_existing`.
- If the user has a folder of experiment settings, results, figures, notes,
  PDFs, Word files, or reports, choose `build_from_materials`.
- If the user does not choose tier, default to `flash`.
- If the user does not request Word output, default `word_output` to `none`.
- If the paper is English, offer `translation_package: zh` as an optional
  Chinese reading package for intermediate artifacts and final structure.
- Default `reference_mode` to `local_first`.
- Default `reference_paths` to `["."]` unless the user provides paths.
- Default `citation_target_count` to `20`.

## Global UI Language

On first setup, or when the user asks to change PaperSpine interface language,
run the wizard in global setup mode:

```bash
WIZARD="$(find "$(git rev-parse --show-toplevel 2>/dev/null || echo .)" -path "*spine-config-ui/scripts/intake_wizard.py" 2>/dev/null | head -1)"(ACAT-GOVERNANCE:上游脚本未随本仓库集成,宿主安装路径已废弃;2026-09-23 宿主中性化改写,改用本仓技能目录内路径)
python "$WIZARD" --setup-global --output-dir paper_rewriting_output
```

Use the wizard's terminal UI for all config fields. Prefer the arrow-key UI in a
real terminal; use numbered command-line menus as fallback. Avoid asking the
user to manually type JSON/options unless terminal execution is impossible.

Files in this skill

  • SKILL.md5.7 KB
  • references/UPSTREAM.md761 B
  • references/interactive-intake.md3.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…