Install
$ agentstack add skill-composite-korean-skills-kordoc-parse-table ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ● Filesystem access Used
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
kordoc: parse_table
Reproduce the parse_table logic from src/mcp.ts with a one-off Node run inside the npx package context.
Input Requirements
- Require exactly one target document.
- Require the user to attach the document or provide a concrete local path.
- Accept only supported formats:
.hwp,.hwpx,.pdf. - Require a table index or a clear ordinal such as "first table".
- Do not proceed if the document or table target is missing.
Command
npm exec --yes --package=kordoc --package=pdfjs-dist -- node d.endsWith(".bin"));
const kUrl = "file:///" + p.join(p.resolve(nmBin, ".."), "kordoc", "dist", "index.js").split(p.sep).join("/");
import(kUrl).then(async (k) => {
const filePath = "/abs/path/document.hwpx";
const tableIndex = 0;
const raw = fs.readFileSync(filePath);
const buffer = raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength);
const result = await k.parse(buffer);
if (!result.success) throw new Error(result.error);
const tables = result.blocks.filter(b => b.type === "table" && b.table);
if (tables.length === 0) throw new Error("문서에 테이블이 없습니다.");
if (tableIndex >= tables.length) {
throw new Error("테이블 인덱스 초과: " + tableIndex + " (총 " + tables.length + "개 테이블)");
}
console.log(k.blocksToMarkdown([tables[tableIndex]]));
}).catch(e => { console.error(e); process.exit(1); });
SCRIPT
Workflow
- Resolve the file path to an absolute path.
- Convert the user request into a zero-based
tableIndex. - Parse the document once.
- Filter
result.blocksto table blocks only. - Render the selected table back to Markdown.
Guardrails
- Convert "first table" to
0, "second table" to1. - Report the table count when the requested index is out of range.
- Do not silently fall back to another table.
- Refuse to continue when no supported document was provided.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: composite
- Source: composite/korean-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.